//后台系统的配置

//必要的非需鉴权路由
// const BaseRoutes = [];

//定义完整的需要鉴权路由导航数据 （需要自己调用后端接口返回的数据）
// const ScopeRoutes = [
//   {
//   path:'order',
//   name:'订单管理',
//   icon:'el-icon-s-order',
//   children:[
//     {
//       path:'list',
//       name:'全部订单',
//     },
//     {
//       path:'wait-delivery',
//       name:'待发货',
//     },{
//       path:'deliveryed',
//       name:'已发货',
//     },{
//       path:'wait-receiving',
//       name:'待收货',
//     },{
//       path:'received',
//       name:'已收货',
//     },{
//       path:'closed',
//       name:'已关闭',
//     }
//   ]
// },
// {
//   path:'goods',
//   name:'商品管理',
//   icon:'el-icon-shopping-bag-2',
//   children:[
//     {
//       name:'商品列表',
//       path:'list'
//     },
//     {
//       name:'商品分类',
//       path:'category'
//     },
//     {
//       name:'商品属性',
//       path:'attr'
//     }
//   ]
// },{
//   path:'member',
//   name:'会员管理',
//   icon:'el-icon-s-custom',
//   children:[
//     {
//       name:'用户列表',
//       path: 'list'
//     },
//     {
//       name:'等级管理',
//       path: 'rank'
//     }
//   ]
// },
// {
//   path:'cart',
//   name:'用户购物车',
//   icon:'el-icon-shopping-cart-2',
//   children:[
//     {
//       name:'购物车列表',
//       path: 'list'
//     }
//   ]
// },
// {
//   path:'mina-shop',
//   name:'小程序商城管理',
//   icon:'el-icon-s-shop',
//   children:[
//     {
//       name:'首页轮播图',
//       path: 'banner'
//     },
//     {
//       name:'公告管理',
//       path: 'notice'
//     },
//     {
//       name:'商品分类导航',
//       path: 'nav'
//     },
//     {
//       name:'广告管理',
//       path: 'advertisement'
//     },
//     {
//       name:'商城主题管理',
//       path: 'theme'
//     }, {
//       name:'运费模板管理',
//       path: 'postage'
//     }
//   ]
// },
// {
//   path:'system',
//   name:'系统管理',
//   icon:'el-icon-s-tools',
//   children:[
//     {
//       name:'后台账号管理',
//       path:'user'
//     },
//     {
//       name:'角色管理',
//       path:'role'
//     },
//     {
//       name:'权限管理',
//       path:'scope'
//     },
//     // {
//     //   name:'客服管理',
//     //   path:'service'
//     // },
//      {
//       name:'前端路由表管理',
//       path:'route'
//     }
//   ]
// }];

//合并必须 和 鉴权返回的菜单
// const HomeRoutes = [
//   ...BaseRoutes,
//   ...ScopeRoutes
// ];

//读取或写入操作的一个库
import Storage from '../../utils/storage'

//用户信息本地存储时的名字
const STORAGE_SYSTEM_KEY = 'system';

//读取本地存储中的数据
const system = Storage.get(STORAGE_SYSTEM_KEY);
const routes = system ? system.routes : null;//读取本地存储的路由

const state = {
  theme: '#2f4050',//侧栏系统主题颜色
  isCollapse: false,//左侧栏是否收起
  routes,//系统路由信息- 需要根据用户角色获取
  isLoading: false,//左侧菜单数据状态
}

const getters = {
  getSystemConfig(state) {
    return state;
  },
  getHomeNavData(state) {
    return state.routes;
  },
  getIsLoading(state) {
    return state.isLoading;
  }
}

const mutations = {
  setSidebarCollapse(state, payload) {
    state.isCollapse = payload;
  },
  setHomeNavData(state, payload) {
    state.routes = payload;
  },
  clearHomeNavData(state, payload) {
    state.routes = null;
  },
  setIsLoading(state, payload) {
    state.isLoading = payload;
  }
}

const actions = {
  saveRoutes(context, payload) {
    //存储到本地存储 sessionStorage 
    Storage.save(STORAGE_SYSTEM_KEY, { routes: payload });
    //存储到本地仓库
    context.commit('setHomeNavData', payload);
  },
  clearRoutes(context , payload){
    //存储到本地存储 sessionStorage 
    Storage.remove(STORAGE_SYSTEM_KEY);
    //更新本地存储
    context.commit('clearHomeNavData');
  }
}

export default {
  namespaced: true,
  state,
  getters,
  mutations,
  actions
}